package com.budwk.app.sqfwV2.dto.entity;

import cn.hutool.core.collection.CollectionUtil;
import com.budwk.app.sqfw.dto.PersonnelTagDTO;
import com.budwk.app.util.StrUtil;
import com.budwk.starter.common.openapi.annotation.ApiModel;
import com.budwk.starter.common.openapi.annotation.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import org.nutz.dao.entity.annotation.*;
import org.nutz.dao.interceptor.annotation.PrevInsert;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;

/**
 * 商铺基本信息表
 */
@Data
@Accessors(chain = true)
@Table("shequ.sqfw_shops_base_info")
@Comment("商铺基本信息表")
@ApiModel(description = "商铺基本信息表")
public class SqfwShopsBaseInfo implements Serializable {
    private static final long serialVersionUID = 1L;

    @Column
    @Name
    @Comment("编号")
    @ApiModelProperty(description = "ID")
    @ColDefine(type = ColType.CHAR, width = 32)
    @PrevInsert(uu32 = true)
    private String id;

    @Column("type")
    @Comment("场所分类")
    @ApiModelProperty(description = "场所分类")
    @ColDefine(type = ColType.VARCHAR, width = 200)
    private String type;

    @Column("place_name")
    @Comment("场所名称")
    @ApiModelProperty(description = "场所名称")
    @ColDefine(type = ColType.VARCHAR, width = 200)
    private String placeName;

    @Column("place_type")
    @Comment("场所类型")
    @ApiModelProperty(description = "场所类型")
    @ColDefine(type = ColType.VARCHAR, width = 200)
    private String placeType;

    @Column("business_license_name")
    @Comment("营业执照名称")
    @ApiModelProperty(description = "营业执照名称")
    @ColDefine(type = ColType.VARCHAR, width = 150)
    private String businessLicenseName;

    @Column("business_license_image")
    @Comment("营业执照图片")
    @ApiModelProperty(description = "营业执照地址")
    @ColDefine(type = ColType.VARCHAR, width = 500)
    private String businessLicenseImage;

    @Column("social_credit_code")
    @Comment("社会信用代码")
    @ApiModelProperty(description = "社会信用代码")
    @ColDefine(type = ColType.VARCHAR, width = 150)
    private String socialCreditCode;

    @Column("address")
    @Comment("地址")
    @ApiModelProperty(description = "地址")
    @ColDefine(type = ColType.VARCHAR, width = 200)
    private String address;

    @Column("detail_address")
    @Comment("详细地址")
    @ApiModelProperty(description = "详细地址（五级+地址+商铺名称）")
    @ColDefine(type = ColType.VARCHAR, width = 600)
    private String detailAddress;

    @Column("actual_address")
    @Comment("实际经营地址")
    @ApiModelProperty(description = "实际经营地址")
    @ColDefine(type = ColType.VARCHAR, width = 600)
    private String actualAddress;

    @Column("operator")
    @Comment("经营者")
    @ApiModelProperty(description = "经营者")
    @ColDefine(type = ColType.VARCHAR, width = 100)
    private String operator;

    @Column("operator_telephone")
    @Comment("联系电话")
    @ApiModelProperty(description = "联系电话")
    @ColDefine(type = ColType.VARCHAR, width = 50)
    private String operatorTelephone;

    @Column("place_area")
    @Comment("经营场所面积（平方米）")
    @ApiModelProperty(description = "经营场所面积（平方米）")
    @ColDefine(type = ColType.VARCHAR, width = 100)
    private String placeArea;

    @Column("main_business_scope")
    @Comment("主要经营范围")
    @ApiModelProperty(description = "主要经营范围")
    @ColDefine(type = ColType.VARCHAR, width = 100)
    private String mainBusinessScope;

    @Column("province")
    @Comment("省份")
    @ApiModelProperty(description = "省份")
    @ColDefine(type = ColType.VARCHAR, width = 255)
    private String province;

    @Column("city")
    @Comment("市")
    @ApiModelProperty(description = "市")
    @ColDefine(type = ColType.VARCHAR, width = 255)
    private String city;

    @Column("district")
    @Comment("区")
    @ApiModelProperty(description = "区")
    @ColDefine(type = ColType.VARCHAR, width = 255)
    private String district;

    @Column("county")
    @Comment("街道")
    @ApiModelProperty(description = "街道")
    @ColDefine(type = ColType.VARCHAR, width = 255)
    private String county;

    @Column("community")
    @Comment("社区")
    @ApiModelProperty(description = "社区")
    @ColDefine(type = ColType.VARCHAR, width = 255)
    private String community;

    @Column("plot_code")
    @Comment("小区,观山街道场所某些社区需要此字段")
    @ApiModelProperty(description = "小区，观山街道场所某些社区需要此字段")
    @ColDefine(type = ColType.VARCHAR, width = 255)
    private String plotCode;

    @Column("create_date")
    @Comment("创建时间")
    @ApiModelProperty(description = "创建时间")
    @ColDefine(type = ColType.DATETIME, width = 120)
    private LocalDateTime createDate;

    @Column("create_id")
    @Comment("上传人")
    @ApiModelProperty(description = "上传人")
    @ColDefine(type = ColType.VARCHAR, width = 120)
    private String createId;

    @Column("update_date")
    @Comment("更新时间")
    @ApiModelProperty(description = "更新时间")
    @ColDefine(type = ColType.DATETIME, width = 120)
    private LocalDateTime updateDate;

    @Column("update_id")
    @Comment("修改人id")
    @ApiModelProperty(description = "修改人id")
    @ColDefine(type = ColType.VARCHAR, width = 120)
    private String updateId;

    @Column("deleted")
    @Comment("删除状态")
    @ApiModelProperty(description = "删除状态")
    @ColDefine(type = ColType.BOOLEAN)
    private Boolean deleted;

    @Column("shop_status")
    @Comment("商铺状态(1 未检查  2已检查  3：已停业)")
    @ApiModelProperty(description = "商铺状态")
    @ColDefine(type = ColType.VARCHAR, width = 10)
    private String shopStatus;

    @Column("inspection_situation")
    @Comment("检查情况（1：未超时 3：已超时）")
    @ApiModelProperty(description = "检查情况")
    @ColDefine(type = ColType.VARCHAR, width = 20)
    private String inspectionSituation;

    @Column("fill_date")
    @Comment("检查时间")
    @ApiModelProperty(description = "检查时间")
    @ColDefine(type = ColType.DATE)
    private LocalDateTime fillDate;

    @Column("service_type")
    @Comment("业务归属类型，多个用,隔开")
    @ApiModelProperty(description = "业务归属类型，多个用,隔开")
    @ColDefine(type = ColType.VARCHAR)
    private String serviceType;

    @Column("longitude")
    @Comment("经度")
    @ApiModelProperty(description = "经度")
    @ColDefine(type = ColType.VARCHAR, width = 100)
    private String longitude;

    @Column("latitude")
    @Comment("纬度")
    @ApiModelProperty(description = "纬度")
    @ColDefine(type = ColType.VARCHAR, width = 100)
    private String latitude;

    @Column("business_type")
    @Comment("经营类型，私营企业，个体商户")
    @ApiModelProperty(description = "经营类型，私营企业，个体商户")
    @ColDefine(type = ColType.VARCHAR)
    private String businessType;

    @Column("business_param")
    @Comment("经营范围标签")
    @ApiModelProperty(description = "经营范围标签")
    @ColDefine(type = ColType.TEXT)
    private String businessParam;
}
